Python 組み込み例外
Python において、すべての例外は BaseException から派生したクラスのインスタンスでなければなりません。
新しい例外は、Exception クラスかそのサブクラスの一つから派生することをお勧めします。
BaseException からは派生しないで下さい。
BaseExceptionが基底で、ExceptionはBaseExceptionを継承している(クラス階層参照)
ユーザー定義例外のための継承はExceptionやより具体的な例外
ユーザ定義の例外に直接継承されることは意図されていません (継承には Exception を使ってください)。
このクラスのインスタンスに str() が呼ばれた場合、インスタンスへの引数の表現か、引数が無い場合には空文字列が返されます。
システム終了以外の全ての組み込み例外はこのクラスから派生しています。
全てのユーザ定義例外もこのクラスから派生させるべきです。
BaseExceptionがすべての基底クラス
BaseExceptionを継承した
KeyboardInterrupt
SystemExit
Exception
Exceptionをキャッチするとき、KeyboardInterruptやSystemExitはキャッチされない
BaseExceptionをキャッチしていると、KeyboardInterruptやSystemExitがキャッチされてしまう